package com.fuqiang.nightshopadmin.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fuqiang.nightshopumsmodel.entity.UmsMenu;
import com.fuqiang.nightshopumsmodel.entity.UmsResource;
import com.fuqiang.nightshopumsmodel.entity.UmsRole;

import java.util.List;

/**
 * <p>
 * 后台用户角色表 服务类
 * </p>
 *
 * @author fuqiang
 * @since 2020-04-14
 */
public interface IUmsRoleService extends IService<UmsRole> {
    /**
     * 根据用户id获取角色信息
     * @param id
     * @return
     */
    List<UmsMenu> getMenuList(Long id);

    /**
     * 分页列表查询
     * @param keyword
     * @param pageSize
     * @param pageNum
     * @return
     */
    IPage<UmsRole> list(String keyword, Integer pageSize, Integer pageNum);

    /**
     * 获取角色相关菜单列表
     * @param roleId
     * @return
     */
    List<UmsMenu> listMenu(Long roleId);

    /**
     * 获取角色相关资源
     * @param roleId
     * @return
     */
    List<UmsResource> listResource(Long roleId);

    /**
     * 赋予角色相关菜单
     * @param roleId
     * @param menuIds
     * @return
     */
    int allocMenu(Long roleId, List<Long> menuIds);

    /**
     * 赋予角色相关资源
     * @param roleId
     * @param resourceIds
     * @return
     */
    int allocResource(Long roleId, List<Long> resourceIds);
}
